// manifest.config.ts
import { defineManifestConfig } from "@uni-helper/vite-plugin-uni-manifest"
import path from "node:path"
import { loadEnv } from "vite"

// 获取环境变量的范例
const env = loadEnv(process.env.NODE_ENV!, path.resolve(process.cwd(), "env"))
// console.log(env)
const {
  VITE_APP_TITLE,
  VITE_UNI_APPID,
  VITE_WX_APPID,
  VITE_APP_PUBLIC_BASE,
  VITE_FALLBACK_LOCALE,
} = env

export default defineManifestConfig({
  name: VITE_APP_TITLE,
  appid: VITE_UNI_APPID,
  description: "",
  versionName: "1.0.0",
  versionCode: "100",
  transformPx: false,
  locale: VITE_FALLBACK_LOCALE, // 'zh-Hans'
  h5: {
    router: {
      base: VITE_APP_PUBLIC_BASE,
    },
    sdkConfigs: {
      maps: {
        tencent: {
          key: "QBKBZ-FGCK7-76PXC-PK6JU-QGLPE-6ZFD3"
        }
      }
    }
  },
  /* 5+App特有相关 */
  "app-plus": {
    usingComponents: true,
    nvueStyleCompiler: "uni-app",
    compilerVersion: 3,
    compatible: {
      ignoreVersion: true,
    },
    splashscreen: {
      alwaysShowBeforeRender: true,
      waiting: true,
      autoclose: true,
      delay: 0,
    },
    /* 模块配置 */
    modules: {},
    /* 应用发布信息 */
    distribute: {
      /* android打包配置 */
      android: {
        minSdkVersion: 30,
        targetSdkVersion: 30,
        abiFilters: ["armeabi-v7a", "arm64-v8a"],
        permissions: [
          '<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>',
          '<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>',
          '<uses-permission android:name="android.permission.VIBRATE"/>',
          '<uses-permission android:name="android.permission.READ_LOGS"/>',
          '<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>',
          '<uses-feature android:name="android.hardware.camera.autofocus"/>',
          '<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
          '<uses-permission android:name="android.permission.CAMERA"/>',
          '<uses-permission android:name="android.permission.GET_ACCOUNTS"/>',
          '<uses-permission android:name="android.permission.READ_PHONE_STATE"/>',
          '<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>',
          '<uses-permission android:name="android.permission.WAKE_LOCK"/>',
          '<uses-permission android:name="android.permission.FLASHLIGHT"/>',
          '<uses-feature android:name="android.hardware.camera"/>',
          '<uses-permission android:name="android.permission.WRITE_SETTINGS"/>',
		  "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />",
		  	"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />",
		  	"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" />",
		  	"<uses-permission android:name=\"android.permission.BLUETOOTH\" />",
		  	"<uses-permission android:name=\"android.permission.BLUETOOTH_SCAN\" />"
        ],
      },
      /* ios打包配置 */
      ios: {},
      /* SDK配置 */
      "sdkConfigs": {
        "maps": {
          "tencent": {
            "key": "5OSBZ-3HFOJ-RJSF5-XYEON-P4WUZ-THFBN"
          }
        }
      },
      /* 图标配置 */
      icons: {
        // 临时注释掉图标配置，避免加载错误
        android: {
          hdpi: "static/app/icon/72x72.png",
          xhdpi: "static/app/icon/96x96.png",
          xxhdpi: "static/app/icon/144x144.png",
          xxxhdpi: "static/app/icon/192x192.png",
        },
      },
    },
  },
  /* 快应用特有相关 */
  quickapp: {},
  /* 小程序特有相关 */
  "mp-weixin": {
    appid: VITE_WX_APPID,
    setting: {
      urlCheck: false,
      minified: true,
    },
    libVersion: "latest",
    usingComponents: true,
    lazyCodeLoading: "requiredComponents",
    // 小程序权限配置
    requiredPrivateInfos: ["chooseLocation", "getLocation"],

    permission: {
      "scope.userLocation": {
        desc: "您的位置将用于周边服务",
      },
    },
    // __usePrivacyCheck__: true,
  },
  "mp-alipay": {
    usingComponents: true,
    styleIsolation: "shared",
  },
  "mp-baidu": {
    usingComponents: true,
  },
  "mp-toutiao": {
    usingComponents: true,
  },
  uniStatistics: {
    enable: false,
  },
  vueVersion: "3",
})
